package org.easy.eao.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 分页 存取 动作注释
 * @author Frank
 */
@Retention(RetentionPolicy.RUNTIME)
@Target( { ElementType.METHOD })
public @interface Paging {

	/**
	 * 分页内容的查询注释
	 * @return
	 */
	Query query();

	/**
	 * 统计内容数量的查询
	 * @return
	 */
	Query count() default @Query;
	
	/**
	 * 默认页码
	 * @return
	 */
	int page() default 0;
	
	/**
	 * 默认每页容量
	 * @return
	 */
	int size() default 0;

	/**
	 * 分页页码参数 注释
	 * @author Frank
	 */
	@Retention(RetentionPolicy.RUNTIME)
	@Target( { ElementType.PARAMETER })
	public @interface Number {
	}

	/**
	 * 分页每页容量参数 注释
	 * @author Frank
	 */
	@Retention(RetentionPolicy.RUNTIME)
	@Target( { ElementType.PARAMETER })
	public @interface Size {
	}

}
